<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>pthread_mutexattr_getpshared</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_007_1549">&nbsp;</a>NAME</h4><blockquote>
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared
- set and get process-shared attribute
</blockquote><h4><a name = "tag_000_007_1550">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="pthread.h.html">pthread.h</a>&gt;

int pthread_mutexattr_getpshared(const pthread_mutexattr_t *<i>attr</i>,
    int *<i>pshared</i>);
int pthread_mutexattr_setpshared(pthread_mutexattr_t *<i>attr</i>,
    int <i>pshared</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_007_1551">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>pthread_mutexattr_getpshared()</i>
function obtains the value of the
<i>process-shared</i>
attribute from the attributes object referenced by
<i>attr</i>.
The
<i>pthread_mutexattr_setpshared()</i>
function is used to set the
<i>process-shared</i>
attribute in an initialised attributes object referenced by
<i>attr</i>.
<p>
The
<i>process-shared</i>
attribute is set to PTHREAD_PROCESS_SHARED to permit a mutex
to be operated upon by any thread that has access to the memory
where the mutex is allocated, even if the mutex
is allocated in memory that is shared by multiple processes.
If the
<i>process-shared</i>
attribute is PTHREAD_PROCESS_PRIVATE, the mutex will only be operated upon
by threads created within the same process as the thread
that initialised the mutex;
if threads of differing processes attempt to operate on such a mutex,
the behaviour is undefined.
The default value of the attribute is
PTHREAD_PROCESS_PRIVATE.
</blockquote><h4><a name = "tag_000_007_1552">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion,
<i>pthread_mutexattr_setpshared()</i>
returns zero.
Otherwise, an error number is returned to indicate the error.
<p>
Upon successful completion,
<i>pthread_mutexattr_getpshared()</i>
returns zero and stores the value of the
<i>process-shared</i>
attribute of
<i>attr</i>
into the object referenced by the
<i>pshared</i>
parameter.
Otherwise, an error number is returned to indicate the error.
</blockquote><h4><a name = "tag_000_007_1553">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>pthread_mutexattr_getpshared()</i>
and
<i>pthread_mutexattr_setpshared()</i>
functions may fail if:
<dl compact>

<dt>[EINVAL]<dd>
The value specified by
<i>attr</i>
is invalid.

</dl>
<p>
The
<i>pthread_mutexattr_setpshared()</i>
function may fail if:
<dl compact>

<dt>[EINVAL]<dd>The new value specified for the attribute
is outside the range of legal values for that attribute.

</dl>
<p>
These functions will not return an error code of [EINTR].
</blockquote><h4><a name = "tag_000_007_1554">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1555">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1556">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1557">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="pthread_create.html">pthread_create()</a></i>,
<i><a href="pthread_mutex_init.html">pthread_mutex_init()</a></i>,
<i><a href="pthread_mutexattr_init.html">pthread_mutexattr_init()</a></i>,
<i><a href="pthread_cond_init.html">pthread_cond_init()</a></i>,
<i><a href="pthread.h.html">&lt;pthread.h&gt;</a></i>.
<br>
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from the POSIX Threads Extension (1003.1c-1995)
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

